﻿// Decompiled with JetBrains decompiler
// Type: Netick.RemovedEntityFromGroup
// Assembly: Netick, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 6726ECA1-C773-4CF7-8952-E81B30D93B52
// Assembly location: D:\WorkSpaceDemo\UPM\NetickForUnity\Netick\Runtime\Netick.dll
// XML documentation location: D:\WorkSpaceDemo\UPM\NetickForUnity\Netick\Runtime\Netick.xml

using System;

#nullable disable
namespace Netick;

internal struct RemovedEntityFromGroup(
  Entity entity,
  int previousGroupTableIndex,
  InterestManagementGroup previousCell) : IEquatable<RemovedEntityFromGroup>
{
  public Entity Entity = entity;
  public InterestManagementGroup Previous = previousCell;
  public int PreviousGroupTableIndex = previousGroupTableIndex;

  public override bool Equals(object obj)
  {
    return obj is RemovedEntityFromGroup other && this.Equals(other);
  }

  public bool Equals(RemovedEntityFromGroup other)
  {
    return this.Entity == other.Entity && this.PreviousGroupTableIndex == other.PreviousGroupTableIndex && this.Previous == other.Previous;
  }

  public override int GetHashCode()
  {
    return (this.Entity, this.PreviousGroupTableIndex, this.Previous).GetHashCode();
  }
}
